草庐IT

C++ 逐步枚举

全部标签

python - 使用 Python (Windows) 枚举 CD 驱动器

如何找到可用CD/DVD驱动器的盘符?我在Windows上使用Python2.5.4。 最佳答案 使用win32api你可以获得驱动器列表并使用GetDriveType你可以检查它是什么类型的驱动器,你可以通过'PythonforWindowsExtensions'访问win32api或ctypes模块这是一个使用ctypes的例子:importstringfromctypesimportwindlldriveTypes=['DRIVE_UNKNOWN','DRIVE_NO_ROOT_DIR','DRIVE_REMOVABLE','

使用代码和DDD模仿实体框架中的枚举列表

我正在尝试根据该想法实现枚举列表这个答案。我的目标是能够在我的域内使用枚举,并在保存和从数据库中检索它时将其转换为类实例。使用它的代码(下面的来源),我得到了一个DbUpdateException带有消息:违反主要密钥约束“pk_dbo.faculty”。无法在对象“dbo.faculty”中插入重复键。重复的键值为(0)。该语句已终止。这是可以预期的,因为我正在新的教师实例。为了解决它,我尝试了很少问题上这个,没有成功。他们建议将实体附加或设置其状态保持不变。所以我尝试了覆盖SaveChanges()并使用:ChangeTracker.Entries().ToList().ForEach(x

c++ - 如何在 Powershell 脚本中引用 C++ 枚举

我是Powershell脚本的新手。有人可以建议在powershell中引用C++头文件中定义的枚举/常量的简单方法吗?提前致谢。 最佳答案 没有像使用.NET枚举那样直接的方法。您要么必须:自己解析头文件,找到值。合成一个C++/CLIcpp文件,该文件执行头文件的#include并公开通过.NET类型的枚举/常量。首先,您可以使用Get-Content逐行读取头文件,并使用-match和/或Select-String进行正则表达式搜索。对于第二个(我会走的路线),您将需要使用带有/clr开关的cl.exe来生成一个DLL,然后可

c# - 在另一个 session 中枚举用户桌面的 Windows

这里有一个简单的问题让我抓狂。我有一个用C#编写的Windows服务,它应该可以在XP、Vista和7上运行,并且能够枚举当前用户桌面(如果有)的窗口以进行监视。到目前为止:我使用EnumDesktopWindows将IntPtr.Zero作为hdesktop参数传递,因为我没有用户桌面的句柄,这只会导致在枚举分配给服务(Session0\Winsta0)的特殊桌面中存在的少数窗口我试过EnumWindows,结果和上面一样!我尝试使用GetThreadDesktopAPI获取已知进程的桌面,传递explorer.exe线程之一的ID但它返回0,所以我无法获取它的桌面或任何其他线程。我

c# - 如何在 Windows 10 和 > .net 4.5 中用 c# 枚举音频输入设备?

如何获取Windows系统上已安装音频输入设备的列表?操作系统:Windows(10)框架:.Net>=4.5语言:c#我已经尝试过使用这个:ManagementObjectSearcherobjSearcher=newManagementObjectSearcher("SELECT*FROMWin32_SoundDevice");ManagementObjectCollectionobjCollection=objSearcher.Get();但这给了我所有设备的列表,我只需要输入设备列表 最佳答案 您可以使用DirectSoun

windows - 如何枚举 EventLog 的所有注册源

如果我选择在事件日志查看器中过滤“应用程序”日志,我可以看到很多在“应用程序”日志中注册的源。我如何通过C#以编程方式枚举所有这些来源?而且我似乎无法在“应用程序”和“系统”日志中注册我自己的事件源,为什么?顺便说一句:“事件源”的概念真的很困惑...... 最佳答案 可能有更合适的.NET或WindowsAPI可供您引用,但信息最终存储在注册表中的事件日志服务key下。该服务的根键在这里:HKLM\SYSTEM\CurrentControlSet\Services\Eventlog该键下的大部分子键将是系统上的各种事件日志,包括S

windows - 枚举 Windows 纸张大小

我可以使用GetLocaleStr(LCID,LOCALE_IPAPERSIZE,IntToStr(DMPAPER_A4))其中LOCALE_IPAPERSIZE=$100A但是有没有办法用名称枚举所有纸张尺寸? 最佳答案 没有枚举器,请参阅PaperSizes在MSDN上获取完整列表。您可以找出特定已安装打印机支持的纸张尺寸,但这不可能包括所有。 关于windows-枚举Windows纸张大小,我们在StackOverflow上找到一个类似的问题: http

c# - 生成枚举的 JavaScript 表示

我的代码中有一些[Flags]枚举,我想在不复制和粘贴的情况下向JavaScript公开。SignalR似乎通过将URL映射到返回反射生成的JavaScriptstub的Action来为其Hub代理做类似的事情。由于代码是在运行时生成的,因此似乎不可能包含在Bundle中。作为替代方案,我实现了一个T4模板以在设计时生成一个js文件:Enums={:{values=newDictionary();foreach(CodeElementchildinenu.Members){CodeVariablevalue=childasCodeVariable;if(value!=null){str

c# - 使用 CType 的枚举解决重载问题

考虑以下最小示例:ModuleModule1PrivateEnumMyEnumAEndEnumPublicSubMain(argsAsString())AreEqual(CType(0,MyEnum),MyEnum.A)'ErrorhereEndSubPrivateFunctionAreEqual(OfT)(item1AsT,item2AsT)AsBooleanReturnFalseEndFunctionPrivateFunctionAreEqual(item1AsObject,item2AsObject)AsBooleanReturnFalseEndFunctionEndModule

c# - 代码契约(Contract),forall 和自定义可枚举

我正在使用C#4.0和代码契约,并且我有自己的自定义GameRoomCollection:IEnumerable.我想确保没有GameRoomCollection的实例将永远包含null值元素。不过,我似乎无法做到这一点。我没有制定一般规则,而是尝试做一个简单明了的例子。AllGameRooms是GameRoomCollection的实例.privatevoidSetupListeners(GameRoomnewGameRoom){Contract.Requires(newGameRoom!=null);//...}privatevoidSetupListeners(Modelmode